package com.starlink.common.annotation.client.weixin;

import com.starlink.common.annotation.client.base.Amount;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_4_1.shtml
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class WeixinQueryOrderRes implements Serializable {
  /** 应用ID：是 */
  private String appid;
  /** 直连商户号：是  */
  private String mchid;
  /** 商品描述：是 */
  private String description;
  /** 商户订单号：是 */
  private String out_trade_no;
  /** 微信支付订单号：否 */
  private String transaction_id;
  /** JSAPI：公众号支付,NATIVE：扫码支付,APP：APP支付,MICROPAY：付款码支付,MWEB：H5支付,FACEPAY：刷脸支付 */
  private String trade_type;
  /** 交易状态，枚举值: SUCCESS：支付成功,REFUND：转入退款,NOTPAY：未支付,CLOSED：已关闭,REVOKED：已撤销（付款码支付）,USERPAYING：用户支付中（付款码支付）,PAYERROR：支付失败(其他原因，如银行返回失败),ACCEPT：已接收，等待扣款*/
  private String trade_state;
  /** 交易状态描述 */
  private String trade_state_desc;
  /** 附加数据: 否 */
  private String attach;
  /** 支付完成时间 */
  private String success_time;
  /** 订单总金额，单位为分：是 */
  private Amount amount;
}
